home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 November: Tool Chest / Dev.CD Nov 00 TC Disk 2.toast / pc / sample code / quicktime / quicktime for java / timeslaving / src / timeslaving.java < prev   
Encoding:
Java Source  |  2000-09-28  |  2.2 KB  |  94 lines

  1. /*
  2.  * QuickTime for Java SDK Sample Code
  3.  
  4.    Usage subject to restrictions in SDK License Agreement
  5.  * Copyright: © 1996-1999 Apple Computer, Inc.
  6.  
  7.  */
  8. import java.awt.*;
  9. import java.awt.event.*;
  10. import java.awt.image.*;
  11. import java.io.*;
  12.  
  13. import quicktime.qd.*;
  14. import quicktime.*;
  15. import quicktime.std.StdQTConstants;
  16. import quicktime.std.image.*;
  17. import quicktime.std.movies.*;
  18. import quicktime.io.*;
  19. import quicktime.util.*;
  20.  
  21. import quicktime.app.display.*;
  22. import quicktime.app.image.*;
  23. import quicktime.app.time.*;
  24.  
  25. public class TimeSlaving extends Frame implements QDConstants, StdQTConstants, WindowListener, Errors {        
  26.     public static TimeSlaving pm;
  27.     
  28.     public static void main (String args[]) {
  29.         pm = new TimeSlaving("QT in Java");
  30.         pm.show();
  31.         pm.toFront();
  32.     }
  33.  
  34.     TimeSlaving (String title) {
  35.         super (title);
  36.         try { 
  37.             QTSession.open();
  38.  
  39.             textCanv = new QTCanvas(QTCanvas.kInitialSize, 0.5f, 0.5f);
  40.             textCanv.setBackground(Color.black);
  41.             add("East", textCanv);
  42.             addNotify();
  43.             Insets insets = insets();
  44.             
  45.             addWindowListener(this);
  46.             setUpWindow();
  47.             setBounds (0, 0, (insets.left + insets.right + 500), (insets.top + insets.bottom + 250));
  48.         } catch (Exception e) {
  49.             e.printStackTrace();
  50.             QTSession.close();
  51.         }
  52.     }
  53.     
  54.     private void setUpWindow () throws QTException, IOException {        
  55.         ScrollingText t = new ScrollingText();
  56.         
  57.         Dimension d = new Dimension (300, 150);
  58.         TimeableID qid = new TimeableID (t, d);
  59.         ti = new Timer (110, 1, qid);    //100 frames a second at rate == 1
  60.         qid.setTimer(ti);
  61.         
  62.         cp = new ControlPanel(ti, this);
  63.         add("North", cp);        
  64.         cp.setDisplay();
  65.         textCanv.setClient (qid, true);
  66.     }
  67.     
  68.     QTCanvas textCanv;
  69.     ControlPanel cp;
  70.     Timer ti;
  71.     
  72.     public void windowOpened (WindowEvent ev) {
  73.         try {
  74.             ti.setActive (true);
  75.             cp.setDisplay();
  76.         } catch (QTException e) {
  77.             e.printStackTrace();
  78.         }
  79.     }
  80.     public void windowClosing (WindowEvent e) {
  81.         QTSession.close();
  82.         dispose();
  83.     }
  84.  
  85.     public void windowIconified (WindowEvent e) {}
  86.     public void windowDeiconified (WindowEvent e) {}        
  87.     public void windowActivated (WindowEvent e) {}
  88.     public void windowDeactivated (WindowEvent e) {}
  89.     public void windowClosed (WindowEvent e) { 
  90.         System.exit(0);
  91.     }
  92. }
  93.  
  94.